package eg.ci.mvn.service.api.constant;


import eg.ci.mvn.service.api.dict.DictItemBean;
import eg.ci.mvn.service.api.dict.IDictItem;
import lombok.Getter;

/**
 * 车牌类型 , 参考字典表配置  category_en: car_type
 * @author dev
 */
@Getter
public enum CarColorEnum implements IDictItem {
    /** 临时车 */
    CAR_TYPE_TEMP("temp","临时车", "0"),
    /** 小型车(蓝牌) */
    CAR_TYPE_SMALL("small_car","小型车(蓝牌)", "1"),
    /** 中型车(蓝牌) */
    CAR_TYPE_MIDDLE("medium_car","中型车(蓝牌)","2"),
    /** 大型车(黄牌) */
    CAR_TYPE_LARGE("large_car","大型车(黄牌)", "3"),
    /** 电动车 */
    CAR_TYPE_ELECTRIC("electric_car","电动车", "4"),
    /** 黄绿色 ? */
    CAR_TYPE_LIMEGREEN("","黄绿车牌", "5"),
    /** 新能源车(绿牌) */
    CAR_TYPE_GREEN("green_car","新能源车(绿牌)", "6"),
    /** 白牌 */
    CAR_TYPE_WHITE("white_car","白牌车", "7"),
    /** 黑牌车 */
    CAR_TYPE_BLACK("black_car","黑牌车", "8"),
    /** 摩托车 */
    CAR_TYPE_MOTOR("motor_car","摩托车", "9"),

    /** 未知 */
    UNKNOWN("unknown", "未知", "-1");

    /** 字典枚举目录 */
    private final static String CATEGORY = "ParkingCarColorEnum";
    /** 字典枚举目录 LABEL */
    private final static String CATEGORY_LABEL = "停车车牌类型枚举项";

    /** 构造 */
    CarColorEnum(String item, String itemLabel, String itemValue) {
        // 放入到内存
        putDictItem(DictItemBean.builder()
                .category(CATEGORY)
                .categoryLabel(CATEGORY_LABEL)
                .item(item)
                .itemLabel(itemLabel)
                .itemValue(itemValue)
                .build());
    }

    public static String getEnumItemLabel(final String itemValue) {
        return IDictItem.getEnumItemLabel(CarColorEnum.class, itemValue, UNKNOWN.itemLabel() + "(" + itemValue+ ")");
    }

    public static CarColorEnum getEnumAtItemValue(String itemValue) {
        return IDictItem.getEnum(CarColorEnum.class, itemValue, UNKNOWN);
    }

}
